#ifndef MESSAGE_PICK_UP_H
#define MESSAGE_PICK_UP_H

#include "common.h"

class messagePickUp
{
public:
	messagePickUp();
	messagePickUp(char *str_message);

	void setMessageAddr(char *str_message);

	void pickUpInfo(std::string &groupname, asgka_element content);
	void pickUpInfo(std::string &groupname, asgka_element ciphertext1, 
		asgka_element ciphertext2, asgka_element ciphertext3);
	void pickUpInfo(std::string &inviter, std::string &groupname);
	void pickUpInfo(std::string &groupname,
		std::map<std::string, u_long> &member_list);
	void pickUpInfo(std::string &sendername);

private:
	int getStringfromChars(char *beginAddr, std::string &buf);
	int getCharContent(char *beginAddr, char *buf);
	int getMapPairfromChars(char *beginAddr, std::map<std::string, u_long> &member_list);

private:
	char *m_str_message;
};

#endif
